"""
浏览器支持
Selenium支持Chrome、Firefox、Edge等主流浏览器，而Pyppeteer仅支持Chromium基浏览器（如Chrome）。若需测试多浏览器兼容性，Selenium更具优势。

性能与效率
Pyppeteer基于asyncio实现异步操作，执行效率更高；Selenium依赖WebDriver协议，可能存在性能损耗。
Pyppeteer默认运行在无头模式，适合服务器环境，而Selenium需额外配置无头模式。

功能与维护
Selenium拥有更成熟的社区和文档支持，适合复杂功能开发；Pyppeteer功能更聚焦于Chromium特性（如ES模块、Web组件），且直接调用Chromium调试协议。
"""
from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.edge.service import Service
from webdriver_manager.microsoft import EdgeChromiumDriverManager

# 使用GeckoDriverManager自动管理驱动器
browser= webdriver.Edge(service=Service(EdgeChromiumDriverManager().install()))
browser.get("https://cn.bing.com/dict")

# 等待完成
wait = WebDriverWait(browser, 10)

# 获取页面元素
sb_form_q = wait.until(expected_conditions.presence_of_element_located((By.ID, "sb_form_q")))
sb_form_go = wait.until(expected_conditions.presence_of_element_located((By.ID, "sb_form_go")))

# 页面元素赋值
sb_form_q.send_keys('hatch')
sb_form_go.send_keys(Keys.ENTER)

# 关闭浏览器
# browser.close()
# browser.quit()
